package com.gxgeek.eshopinventory.service;

import com.baomidou.mybatisplus.service.IService;
import com.gxgeek.eshopinventory.entity.ProductInventory;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author gxgeek123
 * @since 2018-01-12
 */
public interface IProductInventoryService extends IService<ProductInventory> {

    /**
     * 更新商品库存
     * @param productInventory 商品库存
     */
    void updateProductInventory(ProductInventory productInventory);

    /**
     * 删除Redis中的商品库存的缓存
     * @param productInventory 商品库存
     */
    void removeProductInventoryCache(ProductInventory productInventory);

    /**
     * 根据商品id查询商品库存
     * @param productId 商品id
     * @return 商品库存
     */
    ProductInventory findProductInventory(Integer productId);

    /**
     * 设置商品库存的缓存
     * @param productInventory 商品库存
     */
    void setProductInventoryCache(ProductInventory productInventory);


    ProductInventory getProductInventoryCache(Integer productId);
}
